package com.model.domain.ubicacion;

import com.model.dao.orm.Key;
import util.StringUtil;


/**
 *
 * @author Rdelacruz
 */
//NOTA: Aqui se pone lo que es comun a Campo_Vivienda y Campo_Vivienda_Marco
public abstract class AbstractVivienda 
implements Key
{   
    
    private Conglomerado conglomerado;
    
    private Integer correlativo;//En BD: Campo "NroVivienda"
        
    private String codigo;//Es el numero de seleccion de la vivienda. En BD: "Vivienda"

    private CoordenadaGeografica coordenadaGPS; 

    private CentroPoblado centroPoblado;
    
    private String nombreVia;
    
    private String puerta;
    
    private String interior;
    
    private String piso;
    
    private String manzana;
    
    private String lote;
    
    private String kilometro;
    
    public boolean tieneCodigo() {
        //return codigo!=null && !codigo.equals("");
        return codigo!=null && !codigo.isEmpty();
    }   
    
    @Override
    public String getKey() {
        return conglomerado.getCodigo()+"|"+codigo;
    }
    
    public String getCorrelativoString() {
	return correlativo != null ? correlativo+"" : null;
    }
    
    
    public String getDireccion() {    	
        return StringUtil.trim(nombreVia)+", Nº "+this.puerta+", Piso "+piso+", Lt. "+lote+", Mz. "+manzana;
    }
    
    //////////////////////////////////////////////////////
    
    public Integer getCorrelativo() {
        return correlativo;
    }

    public void setCorrelativo(Integer correlativo) {
        this.correlativo = correlativo;
    } 
    
    public CentroPoblado getCentroPoblado() {
        return centroPoblado;
    }

    public void setCentroPoblado(CentroPoblado centroPoblado) {
        this.centroPoblado = centroPoblado;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }

    public Conglomerado getConglomerado() {
        return conglomerado;
    }

    public void setConglomerado(Conglomerado conglomerado) {
        this.conglomerado = conglomerado;
    }
    
    public CoordenadaGeografica getCoordenadaGPS() {
        return coordenadaGPS;
    }

    public void setCoordenadaGPS(CoordenadaGeografica coordenadaGPS) {
        this.coordenadaGPS = coordenadaGPS;
    }

    public String getNombreVia() {
        return nombreVia;
    }

    public void setNombreVia(String nombreVia) {
        this.nombreVia = nombreVia;
    }

    public String getPuerta() {
        return puerta;
    }

    public String getInterior() {
        return interior;
    }

    public String getPiso() {
        return piso;
    }

    public String getManzana() {
        return manzana;
    }

    public String getLote() {
        return lote;
    }

    public String getKilometro() {
        return kilometro;
    }
    
    
}
